home *** CD-ROM | disk | FTP | other *** search
- package com.ibm.bsf.util;
-
- import com.ibm.bsf.BSFDeclaredBean;
- import com.ibm.bsf.BSFEngine;
- import com.ibm.bsf.BSFException;
- import com.ibm.bsf.BSFManager;
- import com.ibm.cs.util.CodeBuffer;
- import com.ibm.cs.util.ObjInfo;
- import com.ibm.cs.util.StringUtils;
- import java.beans.PropertyChangeEvent;
- import java.io.PrintStream;
- import java.util.Vector;
-
- public abstract class BSFEngineImpl implements BSFEngine {
- protected BSFManager mgr;
- protected String lang;
- protected Vector declaredBeans;
- protected boolean debug;
- protected PrintStream debugStream;
- protected String classPath;
- protected String tempDir;
- protected ClassLoader classLoader;
- // $FF: synthetic field
- static Class class$com$ibm$bsf$BSFManager;
- // $FF: synthetic field
- static Class class$java$lang$Object;
-
- public void initialize(BSFManager var1, String var2, Vector var3) throws BSFException {
- this.mgr = var1;
- this.lang = var2;
- this.declaredBeans = var3;
- this.debug = var1.getDebug();
- this.debugStream = var1.getDebugStream();
- this.classPath = var1.getClassPath();
- this.tempDir = var1.getTempDir();
- this.classLoader = var1.getClassLoader();
- }
-
- public void setDebug(boolean var1) {
- this.debug = var1;
- }
-
- public void propertyChange(PropertyChangeEvent var1) {
- String var2 = var1.getPropertyName();
- Object var3 = var1.getNewValue();
- if (var2.equals("debug")) {
- this.debug = (Boolean)var3;
- } else if (var2.equals("debugStream")) {
- this.debugStream = (PrintStream)var3;
- } else if (var2.equals("classPath")) {
- this.classPath = (String)var3;
- } else if (var2.equals("tempDir")) {
- this.tempDir = (String)var3;
- } else {
- if (var2.equals("classLoader")) {
- this.classLoader = (ClassLoader)var3;
- }
-
- }
- }
-
- public void exec(String var1, int var2, int var3, Object var4) throws BSFException {
- this.eval(var1, var2, var3, var4);
- }
-
- public void compileExpr(String var1, int var2, int var3, Object var4, CodeBuffer var5) throws BSFException {
- ObjInfo var6 = var5.getSymbol("bsf");
- if (var6 == null) {
- var6 = new ObjInfo(class$com$ibm$bsf$BSFManager != null ? class$com$ibm$bsf$BSFManager : (class$com$ibm$bsf$BSFManager = class$("com.ibm.bsf.BSFManager")), "bsf");
- var5.addFieldDeclaration("com.ibm.bsf.BSFManager bsf = new com.ibm.bsf.BSFManager();");
- var5.putSymbol("bsf", var6);
- }
-
- String var7 = var6.objName + ".eval(\"" + this.lang + "\", \"" + StringUtils.cleanString(var1) + "\", " + var2 + ", " + var3 + "," + StringUtils.lineSeparator + StringUtils.getSafeString(var4.toString()) + ")";
- ObjInfo var8 = var5.getFinalServiceMethodStatement();
- if (var8 != null && var8.isExecutable()) {
- var5.addServiceMethodStatement(var8.objName + ";");
- }
-
- var5.setFinalServiceMethodStatement(new ObjInfo(class$java$lang$Object != null ? class$java$lang$Object : (class$java$lang$Object = class$("java.lang.Object")), var7));
- var5.addServiceMethodException("com.ibm.bsf.BSFException");
- }
-
- public void compileScript(String var1, int var2, int var3, Object var4, CodeBuffer var5) throws BSFException {
- ObjInfo var6 = var5.getSymbol("bsf");
- if (var6 == null) {
- var6 = new ObjInfo(class$com$ibm$bsf$BSFManager != null ? class$com$ibm$bsf$BSFManager : (class$com$ibm$bsf$BSFManager = class$("com.ibm.bsf.BSFManager")), "bsf");
- var5.addFieldDeclaration("com.ibm.bsf.BSFManager bsf = new com.ibm.bsf.BSFManager();");
- var5.putSymbol("bsf", var6);
- }
-
- String var7 = var6.objName + ".exec(\"" + this.lang + "\", \"" + StringUtils.cleanString(var1) + "\", " + var2 + ", " + var3 + "," + StringUtils.lineSeparator + StringUtils.getSafeString(var4.toString()) + ")";
- ObjInfo var8 = var5.getFinalServiceMethodStatement();
- if (var8 != null && var8.isExecutable()) {
- var5.addServiceMethodStatement(var8.objName + ";");
- }
-
- var5.setFinalServiceMethodStatement(new ObjInfo(Void.TYPE, var7));
- var5.addServiceMethodException("com.ibm.bsf.BSFException");
- }
-
- public void declareBean(BSFDeclaredBean var1) throws BSFException {
- throw new BSFException(BSFException.REASON_UNSUPPORTED_FEATURE, "language " + this.lang + " does not support declareBean(...).");
- }
-
- public void undeclareBean(BSFDeclaredBean var1) throws BSFException {
- throw new BSFException(BSFException.REASON_UNSUPPORTED_FEATURE, "language " + this.lang + " does not support undeclareBean(...).");
- }
-
- public abstract Object call(Object var1, String var2, Object[] var3) throws BSFException;
-
- public abstract Object eval(String var1, int var2, int var3, Object var4) throws BSFException;
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
- }
-